package com.medical.app.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;
import lombok.Data;


/*
 * @Date : 2024/4/30 下午3:00
 * @Created by Lang
 * @ProjectName : medical-appointment-registration
 */

/**
 * 预约表
 */
@Data
@TableName(value = "mar_subscribe")
public class Subscribe {
    /**
     * 预约id
     */
    @TableId(value = "subscribe_id", type = IdType.INPUT)
    private Long subscribeId;

    /**
     * 挂号类型
     */
    @TableField(value = "registration_type")
    private String registrationType;

    /**
     * 预约时间
     */
    @TableField(value = "subscribe_time")
    private Date subscribeTime;

    /**
     * 预约状态 0待就诊 1已就诊 2已取消
     */
    @TableField(value = "subscribe_type")
    private Integer subscribeType;

    /**
     * 取消时间
     */
    @TableField(value = "cancel_time")
    private Date cancelTime;

    /**
     * 取消原因
     */
    @TableField(value = "cancel_reason")
    private String cancelReason;

    /**
     * 预约备注
     */
    @TableField(value = "subscribe_remark")
    private String subscribeRemark;

    /**
     * 患者id
     */
    @TableField(value = "patient_id")
    private Long patientId;

    /**
     * 医院id
     */
    @TableField(value = "hospital_id")
    private Long hospitalId;

    /**
     * 状态0禁用1启用
     */
    @TableField(value = "`status`")
    private Integer status;

    /**
     * 科室id
     */
    @TableField(value = "department_id")
    private Integer departmentId;

    /**
     * 医生id
     */
    @TableField(value = "doctor_id")
    private Long doctorId;

    /**
     * 乐观锁
     */
    @TableField(value = "version")
    @Version
    private Integer version;

    public static final String COL_SUBSCRIBE_ID = "subscribe_id";

    public static final String COL_REGISTRATION_TYPE = "registration_type";

    public static final String COL_SUBSCRIBE_TIME = "subscribe_time";

    public static final String COL_SUBSCRIBE_TYPE = "subscribe_type";

    public static final String COL_CANCEL_TIME = "cancel_time";

    public static final String COL_CANCEL_REASON = "cancel_reason";

    public static final String COL_SUBSCRIBE_REMARK = "subscribe_remark";

    public static final String COL_PATIENT_ID = "patient_id";

    public static final String COL_HOSPITAL_ID = "hospital_id";

    public static final String COL_STATUS = "status";

    public static final String COL_DEPARTMENT_ID = "department_id";

    public static final String COL_DOCTOR_ID = "doctor_id";

    public static final String COL_VERSION = "version";
}